专利摘要:
ファイルシステム・インターフェースを用いるオペレーティング・システムおよびイベント通知機構のための方法および装置を提供する。一組のイベントをイベント通知のために登録するステップ、各イベントが生じるときにイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの一つもしくは複数のために各イベント・コンシューマが使用するように設けられた標準ファイルシステム・インターフェースを含む、オペレーティング・システム・イベントを通知するためのシステムおよび構造。
公开号:JP2011511980A
申请号:JP2010544961
申请日:2008-09-10
公开日:2011-04-14
发明作者:ジャン、ジョーフォン;ドゥベイ、ニティーシュ;パットネイク、プラタップ;ラマンジャネア、ブルグラ
申请人:インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation;
IPC主号:G06F11-34
专利说明:

[0001] 本発明は、オペレーティング・システムをモニタリングするシステムに関する。特に、標準のファイルシステム・インターフェースおよびファイル・ツリー表示を用いた疑似ファイルシステムに基づくモニタ機構が、イベント・コンシューマからイベント・リクエストを取り、それらをそのプロデューサに進め、そのイベント・プロデューサからイベント発生情報を受け取り、そしてこの情報をイベント・コンシューマに通知して、定期的なポーリングおよび特化したモニタリングAPIの必要性を除去する。]
背景技術

[0002] 大きなデータセンタのシステム管理者はコンピュータ・サーバー上で集中型モニタリング・アプリケーションとともにランするオペレーティング・システム(OS)の健全性を一般にはモニタする。そのような集中型モニタリング・アプリケーションはOSのインスタンスごとにランするエージェントを一般に有するとともに、OSの健全性関連データを集めるために定期的なポーリングを一般的に行う。このデータはそこで中央のアプリケーションによって、かまたはモニタされるOSそれ自体にあって中央のアプリケーションに情報を一般にリレーするエージェントかのいずれかによって分析される。モニタされるOSの健全性が悪いことが検出されると、中央のモニタリング・アプリケーションはシステム管理者にイベントを発生する。単純な場合には、このイベントが管理者に通知を送られるようにすることができるし、もっと複雑な場合には(例えば、特定のプログラムの実行など)修正処置を実行することができる。]
[0003] 現在あるOS健全性モニタリング・アプリケーションの定期的なポーリング・アプローチには2つの大きな問題がある。]
[0004] 1.OSデータが動的にかつ迅速に変化するので、集められたデータの鮮度または精度、ならびにこの時間センシティブなデータに基づくアクションを取る能力はポーリング期間の長さに依存する。もしその期間(2回の連続するポーリング間の時間)があまりにも長いなら、そのOSは一つのポーリング後その後続のポーリングの前に「不健全」状態に入ってしまい、その結果その問題が検出されなくなり、従って修正動作も適時に行われることができない。]
[0005] 2.ポーリング・アクティビティはOSにオーバーヘッドを加える。そこでのもっと多くのポーリングしているユーザーがそのOSインスタンスにあれば、オーバーヘッドももっと多くなる。]
[0006] 前述の問題に対処するために、幾つかの非ポーリング・イベント通知方法がこれまでも提案されてきたが、それぞれそのアプリケーションが特化されたモニタリングAPI(Application Programming Interface)を、或るイベントを通知することにその関心があることをレジスタするために、そして或るイベントについてその詳細をそのイベントが生じた後に得るために、使用することを必要とする。]
[0007] 特化されたモニタリングAPIに付随する問題は、言語の結び付きが、大半のシステム管理アプリケーションのために使用される大半の主要な言語のために開発され維持されなければならない。これらの言語のうちで多いのは例えば、Perl、C、C++、Java、Pythonなどである。OSの複数のバージョンにわたって、そして一つのOSバージョンの複数の言語にわたって、更に一つのOSバージョン内でサポートされる各言語の複数のバージョンにわたって、特化されたAPIを維持しなければならない複雑さというのは、現在あるシステム管理ツールによるこれらの特化されたAPIの使用をしばしば阻む。]
発明が解決しようとする課題

[0008] このように、これらのポーリングおよび特化されたAPIに伴うこれらの問題からみて、オペレーティング・システムの健全性をモニタリングするもっと効果的な方法、好ましくはポーリングを必要とせず、また特化されたAPIを使用しない方法の必要性がある。]
[0009] 従来のシステムの前述その他の、例示の問題、欠点および不利な点からみて、本発明の特徴は周期的なポーリングを使用せずにオペレーティング・システムの健全性をモニタリングする方法を提供することにある。]
[0010] 本発明の他の実施例の特徴は、特化されたモニタリングAPIを用いずにOSモニタリングを提供することにある。]
[0011] 従って、本発明の例示の目的は、ポーリングを必要としない、効率的で柔軟性のあるイベント通知機構を提供することである。]
課題を解決するための手段

[0012] 本発明の他の例示の目的は、標準的なファイルシステムAPIを使用し、かつ新しい追加的なセットの特化されたAPIを導入することのない、広範なアプリケーションにより使用され得るイベント通知機構を提供することである。]
[0013] 前述の例示の特徴および目的を達成するために、本発明の第1の実施例の側面では、中央処理装置(CPU)と、そのCPUにより実行されるオペレーティング・システム(OS)中のイベント通知機構のための命令を含むメモリとを含む装置であって、前記OSのイベント通知機構は、イベントの通知のための登録をするステップ、各イベントが生じるときにイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの1つもしくは複数をイベント・コンシューマが使用するための標準ファイルシステム・インターフェースを含む装置がここで説明される。]
[0014] 本発明の第2の実施例の側面では、オペレーティング・システム二イベントを通知する方法であって、標準である1個もしくは複数個のファイルシステム・インターフェースを含み、イベントの通知のための登録をするステップ、登録されたイベントが生じるときイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの一つもしくは複数のステップをイベント・コンシューマが使用するために標準ファイルシステム・インターフェースを提供することを含む方法がここで説明される。]
[0015] 本発明の第3の実施例の側面では、オペレーティング・システムにイベントを通知する前述の方法を行うためにディジタル処理装置により実行可能なマシーン可読命令のプログラムを実体的に含むマシーン可読媒体がここで説明される。]
[0016] 本発明の第4の実施例の側面では、前述の方法によりオペレーティング・システムにイベントを通知する方法を含む、オペレーティング・システムを動作させる第1のコンピュータと、前記イベント通知を受け取る第2のコンピュータとを含むネットワークがここで説明される。]
[0017] 本発明の第5の実施例の側面では、コンピュータのオペレーティング・システムの健全性をモニタリングするステップと、前記コンピュータの問題をデバッギングするステップと、前記オペレーティング・システムにより実行されるプログラムまたは前記オペレーティング・システムのためのソフトウエア・ソリューションの開発をするステップとのうちの少なくとも一つを含むサービスであって、前記のモニタリング、前記のデバッギングもしくは前記の開発が、前述の方法に基づき前記通知機構を用いる前記オペレーティング・システムのイベント通知を受け取るステップを含む前記サービスがここで説明される。]
[0018] 以下の記述から明らかになるように、本発明は、現存するソフトウエアよりもはるかに有用な情報を提供し、かつファイルシステム・インターフェース(例えば、open()、write()、select()、read()、close()、・・・)をサポートする任意のモニタリング・ソフトウエアにより直接使用可能なものを含む、多くの効果を提供する。それはまた時間に厳しいイベントをもっと効果的にモニタし、その結果そのシステムが破滅する前に迅速な応答アクションがとられる。]
[0019] 本発明はまた、全てのユーザーによる定期的なポーリングの代わりに、select()コール通知を用いることによって低いオーバーヘッドを達成するとともに、フレキシビリティを提供する。何故ならば複数のコンシューマが、夫々は異なる閾値を備えている同じイベントを、OS上のオーバーヘッドをリニアに増加させずに、モニタすることができるからである。更に、複数のアプリケーションがソフトウエア開発者へのもっと高度なデバッギング機能を提供するためのデバッギング・ツールの中に統合することを含め、本発明から利益を受ける。]
[0020] 前述その他の例示の目的、側面および効果が、本発明の実施例の、図面に関連した以下の詳細な記述から理解できよう。]
図面の簡単な説明

[0021] 本発明が適用可能な一般的なオペレーティング・システムの種々のコンポーネントの実施例の説明図である。
本発明の一実施例におけるイベント管理ファイルシステム200の主要なコンポーネントをリストした図である。
本発明のイベント管理ファイルシステムがどのようにしてそれ自体をエンド・ユーザーに提供するかを示す実施例の説明図である。
イベント管理ファイルシステムが装着されるときに生じるアクションの手順を示す実施例のフローチャート400を示す。
イベント・コンシューマがイベント管理ファイルシステムでもってイベントを知らせられるために登録するとき、生じるアクションの手順の典型的なフローチャート500を例示する。
或るイベントがイベント・プロデューサのところで生じるとき行われるアクションの手順の実施例のフローチャート600を示す。
イベント・コンシューマが異常な終了をするときに行われるアクションの手順の実施例のフローチャート700を示す。
本発明をその中に実装するための実施例のハードウエアおよび情報処理システム800を示す。
本発明による方法のプログラムのステップをストアするための信号担持媒体900(例えば、ストレージ媒体)を示す。
本発明の概念を実装するのに使用され得るソフトウエア・モジュールの実施例のブロック図を示す。]
実施例

[0022] ここで図面、特に図1ないし図10を参照すると、本発明による方法および構成の実施例がこれから説明する。] 図1 図10
[0023] 前述のとおり、この開示は、ポーリングの必要性なしに、かつ新規の特化されたAPIを生じる必要性なしに、OSイベントをモニタし、そしてそれらの登録されたイベントが発生する際に非同期にユーザーに通知するための新規の、効率的、かつフレキシブルな機構およびインフラを記述する。この機構は今日優位のシステム管理言語、例えばPerl、PHP、Python、Java、C、C++等の内の任意のもので書かれるモニタリング・アプリケーションで使用される意図がある。]
[0024] 定期的なポーリングに関連する問題及び新しい特化されたAPIを開発するのに関連する問題を除去するために、本発明は、ポーリングを必要とせず、新しい特化されたAPIを生じる必要性もなしに、OSイベントをモニタし、かつそれらの登録されたイベントの生じるときにユーザーに非同期に通知するための新規で、効率的、かつフレキシブルな機構およびインフラを記述する。この機構は先に挙げた優位のモニタリング言語のいずれかで書かれたモニタリング・アプリケーションで使用され得る。]
[0025] 具体的には、本発明の機構は、ファイルおよびファイルシステムをアクセスするのに使用される、ユビキタスおよび標準のファイルシステムAPI(例えば、open()、write()、select()、read()、close()など)に例えば基づく。]
[0026] 標準的なファイルシステム・インターフェースがよく定義され、よく知られていることに留意されたい。例えば、それらはIBM、HPおよびSUNを含むメンバーを有するopen・ソース・グループ・コンソーシアムにより開発されたPOSIX.1仕様書(POSIXはPortable Operating Systems Interfaceを表す)の一部である。この仕様書はまたIEEEスタンダード1003.1としても良く知られている。但し、このスタンダードがただのファイルシステム関連サービスというだけでなくもっと多くのオペレーティング・システムのサービスをカバーすることに留意されたい。人はこのスタンダードを「シングル・ユニックス仕様書」ウェブサイトのところで見ることができる。]
[0027] しかし、本発明はこの一つのオペレーティング・システム仕様書やここに記される実施例に限定するような意図がないことにも留意されたい。むしろ、それは「標準ファイルシステム・インターフェース」という用語が、OSモニタリングのために特別に開発された特化されたインターフェースに頼ることなく、そのオペレーティング・システム環境で一般に利用できるファイルシステム・インターフェースのことをいうように意図している。]
[0028] より詳しく言うと、本発明は、モニタリング・アプリケーションにより使用されるザ/ahaファイルシステム(縮めてAHAFS)とここでは呼ばれるが、ファイルシステム(FS)を含む。AHAFSはAutonomic Health Advisor FileSystemの略語である。]
[0029] このファイルシステムはルート・ディレクトリ/aha(例えば、図2参照)の下で、ここでは「モニタ・ファクトリ・ディレクトリーズ」と呼ばれる特別のディレクトリとしてオペレーティング・システム(OS)中に種々のシステム・イベント・プロデューサを提供する。このイベント・プロデューサにより扱われる個々のイベント・インスタンスは、ここで「モニタ・ノード」と呼ばれるリーフ・レベルのファイル・ノードとして提供される。各モニタ・ノードは一つのそして唯一のモニタ・ファクトリ・ノードの下にあるであろう。] 図2
[0030] 以下の手順のアクションはイベントの通知がどのようにして生じるかを高レベルで例示的に示す。]
[0031] 1.モニタリング・アプリケーションはあるイベントに関連付けられたモニタリング・ファイルをまず生成し開くことによってそのイベントが通知されるよう登録する。その所望のモニタ・ファイルが既に存在するならそれを生成する必要がないことに留意されたい。]
[0032] 2.そこでそのモニタリング・アプリケーションは、そのファイルの中に、そのイベントがトリガされるべきときを示すための幾つかのイベント・プロデューサ特有入力情報を書き込む。]
[0033] 3.そのモニタリング・アプリケーションは、起こるべきイベントを体躯するためにselect()をコールする。]
[0034] 4.AHAFSがそのモニタリング・アプリケーションのイベント・リクエストをそのイベント・プロデューサに進める。]
[0035] 5.そのイベントが生じるときに、そのイベント・プロデューサはそのイベントの詳細についてAHAFSを知らせる。]
[0036] 6.AHAFSが、select()コールにおいて待機しているアプリケーションまたはモニタリング・アプリケーションを起こす。]
[0037] 7.モニタリング・アプリケーションがそのイベントの詳細を得るためにそのモニタリング・ファイルから読み出す。]
[0038] 8.モニタリング・アプリケーションが最早通知されることを必要としなくなると、それはそのファイルを閉じる。]
[0039] 前述のステップおよび実施例の適用可能な環境を以下でもっと詳しく説明する。]
[0040] 実施例の典型的なオペレーティング・システム(OS)の主要なコンポーネントが図1の概略100に示されている。OSインスタンスがユーザー・モードで実行する幾つかのアプリケーション101・・・109を普通は含む。カーネル110がOSのコアを含む。カーネルそれ自体はプロセスおよびスレッドのスケジューラ111、バーチャル・メモリ・マネジャ(VMM)112、I/Oサブシステム113、論理ファイルシステム(LFS)層14、複数のフィジカル・ファイルシステム(PFS)115、116、ネットワーキング・サブシステム117など、複数のサブコンポーネントよりなる。 アプリケーション101・・・109は一組のインターフェース呼び出しのシステム・コール130を介してカーネルにより提供されるサービスをアクセスする。] 図1
[0041] これらのシステム・コールは、ユーザー・モード(低い特権レベル)からカーネル・モード(高い特権レベル)にアプリケーションの特権レベルを、それらがカーネルにより提供されるサービスを実行するときに、変える。このFSのシステム・コールはLFS層114により提供される一組のシステム・コールである。FSシステム・コールの例は、open()、close()、read()、write()、select()、シーク()等である。これらのFSシステム・コールは当業者に周知であることを理解されたい。]
[0042] 本発明では、アプリケーションがファイル上でFSシステム・コールを発するとき、LFS層がそのファイルに対応するフィジカル・ファイルシステム(PFS)を識別し、そのPFS上で動作を引き起こす。その動作はそのコールされた仮想ノード(vnode)動作およびバーチャル・ファイルシステム(VFS)動作によって提供される。]
[0043] 「vnode動作」および「vfs動作」という用語がUnixオペレーティング・システムにおける標準ファイルシステムの一部であることに留意されたい。このコンテキストにおいて「バーチャル」という用語は、そのフィジカル・ファイルシステムをアクセスしているアプリケーションとそのフィジカル・ファイルシステムを提供するカーネル/カーネル・エクステンションとの間に或るレベルの不正な手段(indirection)があることを暗示する。本発明はUnixなどの上に実装されるように、任意の他のファイルシステムもまたvnodeおよびvfs動作を介してアクセスされるであろう。図2に示されるように、本発明(AHAFS)はPFSのようなオペレーティング・システムに現れ、それ自体をファイル・ツリーとしてモニタリング・アプリケーションに提供する。] 図2
[0044] 図2はAHAFSフレームワークがどのようにしてエンド・ユーザーおよびモニタリング・アプリケーションに現れるかを示す。この実施例200では、この技法がルート・ノード/aha201でもって始まるファイル・ツリーにより提供される。そのルート・ディレクトリの下に幾つかのサブディレクトリ210、211、212・・・があり、これらはここで「モニタ・ファクトリ」ノードまたはサブディレクトリと称され、夫々一つのイベント・プロデューサを代表する。] 図2
[0045] この例示の実装例はフレキシブルであり、そして/ahaディレクトリとモニタ・ファクトリ・ノードとの間に幾つかの中間的なサブディレクトリが生成されるのを許容することによって、改良された組織またはハウスキーピングを可能にする。各モニタ・ファクトリ・ノードの下方に、1個または複数個のモニタ・ノードがあり得る。各モニタ・ノードはイベント・プロデューサによりモニタされ得るユニークなイベントを表し、それがコンシューマの通知を送ることができる。]
[0046] 図2は、utilFs.monFactory210、 modFile.monFactory211、およびwaitTmCPU.monFactory212という3つのモニタ・ファクトリを備える例を示す。各モニタ・ファクトリ(例えば、210、211、212)は1個もしくは複数個のモニタ・ノードを有し、夫々のノードが、生じるべきイベントのためにそれがモニタするオブジェクトである。これらのモニタ・ノードは、あるイベントのことを通知されるようそれが登録するときそのユーザ・アプリケーションにより生成される。] 図2
[0047] 図2は、var.mon221、tmp.mon222、abc.mon231、passwd.mon232、およびwaitTmCPU.mon225という5個のモニタ・ノードを示す。この実施例では、そのモニタ・ファクトリがサブディレクトリ・ノードとして示され、そしてそのモニタがこれらのサブディレクトリの下でファイルまたはファイル・ノードとして示される。そのファイル名のエクステンション.mon、およびディレクトリ名のエクステンション.monFactoryは、使用するのにここではサンプルの表記法(convention)として与えられるが、他の表記法も使用され得る。] 図2
[0048] 図3は、図1で説明した典型的なオペレーティング・システムにおいてAHAFS疑似ファイルシステムを実装した実施例であるが、そのOSの特定の構造に依存しないファイルシステムを介してイベント通知を得る実施例を示す。] 図1 図3
[0049] 図3を参照すると、AHAFSフレームワーク300がOSのユーザー層305およびカーネル層306の両方にまたがる。ユーザー層305では、1個もしくは複数個のシステム管理/システム・モニタリング・アプリケーション301、302・・・等がユーザー空間333中にある。カーネル層306中では、AHAFSがカーネル335の内部かまたはカーネル機能拡張すなわちカーネル・エクステンション335として実装され得る。「カーネル・エクステンション」という用語は、本発明の実施例が実装されてきた、UNIXオペレーティング・システムであるAIXに特有に用語であることに留意されたい。他のオペレーティング・システムは、類似の概念に対し異なる用語を有しているかもしれない。もちろん、本発明はここでの開示を全体として把握すれば当業者に理解されるように、UNIXオペレーティング・システムまたはここで示される例示の用語に限定されない。図3に示す実施例では、AHAFSモジュール330がカーネル・エクステンション334に実装されるように示されている。この位置が生み出されたのはカーネル335をできるだけ小さく保持するための選択からであるが、AHAFSモジュール330がカーネル335の中に代わりに実装され得ないという理由があるわけではない。] 図3
[0050] イベント・プロデューサがカーネル335の種々のサブシステム、スケジューラ111、VMM112、I/Oサブシステム113、論理ファイルシステム114等のいずれかにある。かくして、各サブシステムはゼロまたはそれより多くのイベント・プロデューサを含むことができる。現在の実施例に説明されていないが、イベント・プロデューサはまたカーネル・エクステンション334にあってもよい。カーネル・エクステンション334がイベント・プロデューサを含むときは、それが初期化されるときにカーネルにそのイベント・プロデューサの利用可能性を知らせる。]
[0051] ユーザー空間のモニタリング・アプリケーション301、302、・・・は、FS関連システム・コールすなわちシステム・コール・サービス310の形態で利用可能な標準ファイルシステム・インターフェース332を介してAHFASモジュール330と通信する。そのシステム・コール・サービス310は、次に仮想ノード(vnode)オペレーション311および仮想ファイルシステム(vfs)オペレーション312を介してAHAFSサービスを呼び出す。サービスの呼び出しの手順および各ステージで呼び出される特定のサービスは後の図で与えられる。サービスの呼び出しの手順、および各ステージにおいて呼び出される特定のサービスを、実施例のフローチャートとして後の図で示し、以下の段落でもっと詳細に説明する。]
[0052] AHAFSモジュール330は、AHAFSモジュールを初期化する際、イベント・プロデューサごとに決定される別個の登録機能を用いてイベント・プロデューサと通信する。イベント・プロデューサは登録機能で与えられるコールバック機能を介してAHAFSモジュールと通信する。AHAFSモジュールとイベント・プロデューサとの間で交換される情報の詳細は各イベント・プロデューサに特有である。]
[0053] 図4はAHAFSが装着されるときに取るステップの手順400を列挙する。その装着動作がAHAFSモジュールを初期化する。ステップ401では、システム管理者が装着ポイントとして/ahaでもってその装着命令を呼び出す。その装着命令はステップ402でAHAFSの装着サービスに、新しい装着動作がそのAHAFSモジュールに対しリクエストされたことをステップ402で通知する。] 図4
[0054] ステップ403では、AHAFSのvmount(vfs—mount)サービスがそのパラメータの正確さをチェックし、そのAHAFSの初期化を実行する。この初期化はカーネルにおいてイベント・プロデューサを識別し、そのデータ構造のためにメモリを割り当て、そして幾つかのデータ構造において機能ポインタおよびフィールドをセットする。その装着動作が成功裡に完了すると、そのイベント・コンシューマが、イベント通知のための登録をするためにAHAFSを使用することができる。]
[0055] 図5は、イベント・コンシューマがイベントの通知を得るために登録するとき取るアクションの手順500を示す。前に説明したように、イベント・コンシューマはイベントのことを通知されるよう登録するためかつそのイベントの詳細を得るために標準のファイルシステム・インターフェースを使用する。] 図5
[0056] ステップ501では、モニタリング・アプリケーションが、イベントをその対応する.monファイル上でopen()を発行することにより登録する。]
[0057] ステップ502では、OSの論理ファイルシステム層がvnode動作インターフェースを介してopen・リクエストをAHAFSに通知する。]
[0058] ステップ503では、AHAFSがそのファイルをもしそれが既に存在していなければ生成し、その参照カウントを増加する。]
[0059] ステップ504では、論理ファイルシステムのシステム・コールが、そのコンシューマ・アプリケーションへのそのopenされたファイルに対応するファイル記述子を戻す。]
[0060] ステップ505では、write()システム・コールを用いそのファイル中にイベント特定値をイベント・コンシューマが書きこむ。この値は、イベントのタイプによって整数、浮動小数点、ストリングまたは組み合わせであり得る。]
[0061] ステップ506では、AHAFSが書き込みバッファの中身を得て、そのイベントのタイプに従った中身を解釈する。例えば、ファイルシステムの使用が閾値をクロスするときはいつでもそのことをイベント・コンシューマにそのイベントが通知する筈なら、その書き込みバッファ中の値は整数として解釈される。その書き込みバッファが一旦構文解析されると、AHAFSはその中身を内部データ構造中にストアする。AHAFSは、そのイベント・コンシューマがselect()システム・コール行うまで、そのイベント・リクエストをイベント・プロデューサに渡さない。]
[0062] ステップ507では、イベント・コンシューマはそのイベントのモニタリングを開始するようAHAFSに知らせるために以前のopen()コールからそれが受け取ったファイル記述子でもってselect()インターフェースをコールする。]
[0063] ステップ508では、AHAFSがselect()コールを受け取り、そのイベント・リクエストを直ぐに進める(ステップ509)べきか、それともイベント通知リクエストのインベントリ中にそれを維持すべきかを決定する。AHAFSは、そのリクエストを、もしそれが他のコンシューマからのイベント・リクエストをイベント・プロデューサに既に送っているなら、すぐにそのリクエストを進めるようなことはしない。この実施例では、任意の所与の時点で、所与のイベント・インスタンスのためのせいぜい一つのイベント・リクエストをイベント・プロデューサが有する。]
[0064] AHAFSがイベント・プロデューサにイベント・リクエストを送るとき、それはそのイベント・リクエストとともにコールバック機能アドレスをも渡す。その結果そのイベントが起こるとき、イベント・プロデューサは、そのコールバック機能を呼び出すことによりAHAFSを知らせることができる。幾つかのイベント・プロデューサは、そのイベントの条件がその戻り値を用い、既に合致したかAHAFSに知らせることができる。もしそのイベント条件が既に合致していれば、そのイベント・コンシューマは通知される(ステップ511)。]
[0065] 図6は、或るイベントがイベント・プロデューサで起こるとき行われるアクションの手順600を例示的に列挙する。ステップ601では、登録されたイベント条件が合致したことをイベント・プロデューサが識別する。] 図6
[0066] ステップ602では、そのイベントの詳細を、以前に提供されたコールバック機能を用いてAHAFSに知らせる。]
[0067] AHAFSがそのイベントの詳細を受け取るとき、それはステップ603で通知される必要のあるイベント・コンシューマのリストを識別する。通知される必要のあるイベント・コンシューマが一つよりも多くあることに留意されたい。AHAFSはイベント・プロデューサに唯一のリクエストを進めそれ自体のキューにその残りのコンシューマを保持する。また、イベントのタイプによっては、或るイベントに対し登録してきたイベント・コンシューマの必ずしも全てが所与のイベントの発生のための通知を得る必要はない。]
[0068] 図示のように、もしイベント・プロデューサが utilFsである(すなわちファイルシステムの使用がコンシューマ特定の閾値をクロスするときはいつでもイベントをトリガする)なら、かつ現在の利用が90%であるなら、90%に等しいかそれよりも大きい閾値に対し登録されてきたこれらのイベント・コンシューマのみに通知されるべきである。従って、イベント・プロデューサがコールバック機能を呼び出すとき、AHAFSはこのイベントの発生(90%フル)の結果として通知される必要のある全てのコンシューマを識別するためにそのキューを検索する。その識別されたコンシューマごとに、AHAFSは、これらのコンシューマによる次のread()動作がそれらにイベントの詳細を与えるようにそのデータ領域を用意する。]
[0069] ステップ604では、AHAFSがその識別されたイベント・コンシューマの夫々を通知する。]
[0070] ステップ605では、残りのイベント・コンシューマがあるか見るためにAHAFSがそのキューをチェックし、もしあればAHAFSがそのイベント・プロデューサのところにそのイベントを再登録する。]
[0071] イベント・コンシューマとAHAFSとの間でファイルシステム・インターフェースを用いる他の利点は、イベント・コンシューマの異常終了の場合に、図7のフローチャート700に例示するようにクリーンアップが容易であることである。] 図7
[0072] ステップ701に示すように、イベント・コンシューマが異常に終了するときそのOSはファイル記述子がcloseされる必要があることをステップ702に於いてclose()vnode動作を介してAHAFSに通知する。]
[0073] ステップ703では、AHAFSがコンシューマ・プロセスを識別し、このコンシューマ・プロセスがイベント・プロデューサのところでイベント登録を有しているかチェックする。もしそれが有していれば、そしてもしこのプロセスがただ一つのイベント・コンシューマであれば、AHAFSはその登録をリコールする。]
[0074] もし現在のコンシューマがそのファイル識別子をcloseしてしまった後1個もしくは複数個の他のコンシューマがそのイベントのために登録されているなら、AHAFSはそのイベントを適当なパラメータとともにそのイベント・プロデューサでもって再登録する。]
[0075] ステップ704では、現在のコンシューマを除去した後このイベントのための残りのイベント・コンシューマがないなら、AHAFSはそのモニタ・ノードのために維持されているそれ自体のデータ領域を使えるようにする。]
[0076] これまでの記述をガイドラインと捉えると、本発明の実施例は、一組のイベントのイベント通知のための登録をするステップ、各イベントが生じるときにイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの1つまたは複数をイベント・コンシューマが使用できる標準ファイルシステム・インターフェースを提供することによるオペレーティング・システムをモニタする方法を含む。このその実施例はまた図2に示すとおり、イベント通知に利用できるイベントのリストのファイル・ツリー表示を含むこともできる。この実施例はまたイベント・コンシューマからイベント・リクエストとるため疑似ファイルシステムを提供するステップおよびそれらをプロデューサに進めるステップ、そのイベント・プロデューサからイベント発生情報を受け取るステップ、およびそのイベント・コンシューマにこの情報を通知するステップをも含むこともできる。] 図2
[0077] 実施例は、イベントが生じるときに通知を得るためイベント・コンシューマから疑似ファイルシステムの登録機能およびコールバック機能を提供するステップを含むことができる。]
[0078] 図2のUnixベースの例に示すように、そのイベント・プロシージャおよびイベント・インスタンスを明示的に識別するためにそのファイル・ツリー表示は所定の命名規則を含むことができ、そしてモニタリングに際しそれらが関心のある特定のイベント・インスタンスのファイル・パス名をイベント・コンシューマが識別するのを助けるためにそのツリー中の所定の特定ノードを含むことができる。その命名規則はディレクトリ名に所定の拡張を加えることによりイベント・プロシージャを識別することができ、またファイル名に所定の拡張を加えることによりイベント・インスタンスを識別することができる。] 図2
[0079] Unixベースの例では、所定のディレクトリ名拡張は「.monFactory」 であり、所定のファイル名拡張は「.mon」であるが、他の規則も使用することができよう。]
[0080] ある実施例では、標準ファイルシステム・インターフェースが、イベント・インスタンスに対応するモニタ・ノードへのハンドルを得るためのインターフェース、イベント・タイプに特有のイベント・トリガ基準を示すためのインターフェース、イベントが生じるまで待機するためのインターフェース、イベントが生じた後そのイベントに特有の詳細を読み取るためのインターフェース、そしてイベント・インスタンスに対応するモニタ・ノードへのハンドルをリリースするためのインターフェースのうちの1個もしくは複数個を含むことができよう。]
[0081] 例として、イベント・インスタンスに対応するモニタ・ノードへのハンドルを得るための、open()インターフェースになり得るインターフェース、イベント・タイプに特有のイベント・トリガ基準を示すための、write()インターフェースになり得るインターフェース、イベントが起きるまで待機するための、select()インターフェースになり得るインターフェース、イベントが起きてしまった後そのイベントに特有の詳細を読みだすための、read()インターフェースとなり得るインターフェース、そしてイベント・インスタンスに対応するモニタ・ノードへのハンドルをリリースするための、close()インターフェースニナリエルインターフェースがある。]
[0082] そのシステムは例示的に上記で列挙したファイルシステム・インターフェースを用い例示的に実装されているが、このリストおよび例は無制限である。標準ファイルシステム・インターフェースの他の例は、例えば、select()の代わりにポール()、あるいはread()/write()の代わりにioctl()を含んでもよく、同じ結果を得る。他のファイル・システム、intも使用できる。]
[0083] 疑似ファイルシステムはまた、複数のイベント・コンシューマからの複数のイベント・リクエストを、イベント・プロデューサへの一つのリクエストに集約する1個もしくは複数個の設備、イベント・コンシューマへの読み出しを提供するための機構、およびイベントをトリガさせるようにしたプログラムのスタック・トレースを提供するための機構をも含み得る。]
[0084] 実施例のハードウエア実装例]
[0085] 図8は、好ましくは少なくとも一つのプロセッサまたは中央処理装置(CPU)811を備える、本発明による情報処理/コンピュータ・システムの典型的なハードウエア構成を示す。但し、本発明がオペレーティング・システムを有する任意のディジタル装置を指向しているので、本発明が実施例のアーキテクチャを有するコンピュータに限定されないことに留意されたい。他のタイプの装置は、オペレーティング・システムを使用するが、当業者には良く理解される、図8に示すような「コンピュータ」とは考えられないかもしれない、例えば電化製品、電話、娯楽端末などを含んでいてもよい。] 図8
[0086] 図8のCPU811は、システム・バス812を介してランダム・アクセス・メモリ(RAM)814、読み出し専用メモリ(RAM)816、入出力(I/O)アダプタ818(ディスク・ユニット821、およびバス812へのテープ・ドライブ840などの周辺装置用)、ユーザー・インターフェース・アダプタ822(キーボード824、マウス826、スピーカ828、マイクロフォン832および/もしくはバス812への他のユーザー・インターフェースを接続するためのもの)、情報処理システムをデータ処理ネットワーク、インターネット、イントラネット、パーソナル・エリア・ネットワーク(PAN)などに接続するための通信アダプタ834、ならびにバス812をディスプレイ装置838および/もしくはプリンタ839(例えば、ディジタル・プリンタなど)に接続するためのディスプレイ・アダプタ836に接続される。] 図8
[0087] 前述のハードウエア/ソフトウエア環境に加えて、本発明の異なる側面は前述の方法を行うためのコンピュータで実施する方法を含む。 一例として、この方法は前述の特定の環境で実施され得る。]
[0088] このような方法は、マシーン可読命令のシーケンスを実行するために、ディジタル・データ処理装置による実施というように、例えばコンピュータを動作させることにより実施されてもよい。これらの命令はいろいろなタイプの信号担持媒体に備わっていてもよい。]
[0089] このように、本発明のこの側面は、本発明の方法を行うため、前述のCPU411およびハードウエアを実装するディジタル・データ処理プロセスにより実行可能なマシーン可読命令のプログラムを物理的に伴なう信号担持媒体を含むプログラム製品を指向する。]
[0090] この信号担持媒体は、高速アクセス・ストレージにより代表されるような、例えばCPU811中に含まれるRAM、を含んでもよい。代わりに、本発明は、CPU811により直接もしくは間接にアクセス可能な、磁気データ・ストレージ・フロッピー・ディスク900(図9)など、他の信号担持媒体に含まれていてもよい。] 図9
[0091] フロッピー・ディスク900、コンピュータ/CPU811あるいはどこか他のところに含まれるかどうかに関係なく、DASDストレージ(例えば、従来からある「ハード・ドライブ」またはRAIDアレイ)、磁気テープ、電子的な読み出し専用メモリ(例えば、ROM、EPROM、もしくはEEPROM)および光ストレージ装置(例えば、CD−ROM、WORM、DVD、ディジタル光テープなど)、紙の「パンチ」カード、またはディジタルもしくはアナログおよび通信リンクおよびワイヤレスによる伝送のためのストレージ装置を含む他の適当な信号担持媒体など、多様なマシーン呼び出し可能なデータ・ストレージ媒体または他のコンピュータ・プログラム製品上に命令がストアされてもよい。本発明の実施例では、マシーン可読命令がソフトウエア・オブジェクト・コードを含んでもよい。]
[0092] ソフトウエア実装例]
[0093] 図10は前述のような本発明の方法を実装するのに使用され得るソフトウエア・モジュール1000をブロック図形式で示す。] 図10
[0094] 本発明のファイルシステムの部分はOSの中に予め実装されるかまたはOSが立ち上がった後にあとで加えられることができる。前述のとおり、今日、本発明はIBMAIXオペレーティング・システムにおけるカーネル・エクステンションとして実装されてきた。AIXにおけるカーネル・エクステンションは動的にロード可能なモジュールに類似している。本発明のイベント・プロデューサ部分はそのOSの中に組み込まれる必要がある。もしイベント・プロデューサが利用できないなら、そのアプリケーションにOSイベントを露出するためにファイルシステムを加えることは無益である。]
[0095] オリジナルの開発からOSの中にすでに実装されているのではないなら、本発明はそれを用いることになるOSごとに実装されなければならない。この時点で、ここまでの実施例の説明がカーネル・モード・イベント・プロデューサに限定されてきたが、特にオペレーティング・システムの当業者はこの実施例をユーザー空間で生じるモニタ・イベントにも容易に拡張することができることに留意されたい。従って、この実施例が本発明の範囲を制限するものとしては意図されていない。]
[0096] しかし、本発明はシステム管理者がインストールすることができるようにソフトウエア・パッケージとして頒布されることもできる。その結果、モニタリング・アプリケーションがそれをその後使用することができる。代わりに、本発明はデバッギング・ツールの中に実装することもでき、これによってもっと高度のデバッギング機能をソフトウエア開発者に提供する。]
[0097] 図10はそのような管理者のソフトウエア・パッケージまたはデバッギング・ツールのための例示的なブロック図1000を示す。コントローラ・モジュール1001が、管理者のソフトウエア/デバッギング・ツールの役割を務めるアプリケーション・プログラムの主要なルーチンであり、他のサブルーチンを制御するのにも資する。グラフィカル・ユーザー・インターフェース・モジュール1002が、命令およびパラメータ値をユーザーが入力するのを許容するとともに、ディスプレイのためにインターフェースを提供し、デバッギング・ツールのためのデバッギング・ディスプレイを含む。AHAFSモジュール330を装着し、イベント・プロデューサ331を識別し、イベントの関心を登録し、そして閾値、パラメータ等をセットするために図3に示される標準ファイルシステム・インターフェース332を使用する図4に示す装着プロセスを通じてユーザーをガイドするためのサブルーチンをイベント管理モジュール1003が提供する。] 図10 図3 図4
[0098] 図9に例示するソフトウエア・パッケージは、OS全体がストアされかつそのOSが本発明のモニタリング・システムをそこに予め実装してきたか、あるいは本発明が実装され得るような管理者ツールをソフトウエアが含むようなそんなソフトウエアを代表するものとして示されていることに留意されたい。 これはブロック図形式1000で図10に例示的に示すものに類似する。
サービスの側面] 図10 図9
[0099] 本発明の更に他の側面では、オペレーティング・システムのモニタリングかまたはそのオペレーティング・システムのトップに載っているアプリケーション・プログラムのデバッギング、あるいはオペレーティング・システムのモニタリングが開発ツールを提供するソフトウエアの開発をその方法が許すので、ビジネスでのコンポーネントとして本発明を使用するかまたは他のエンティティにサービスを提供する機会もある。制限のない実施例は、例えばネットワーク上のオペレーティング・システム・モニタリング・サービスを提供することを含み、前術のイベント通知を受け取ることによって、タイムリな態様で介在するポテンシャルを含む。
結び]
[0100] 以上の説明から、本発明(AHAFS)の利益が数あることが明らかであろう。AHAFSの幾つかの例示的および制限しない利益は、以下を含む。]
[0101] 1)有用な情報‐本発明は現在あるソフトウエアよりもはるかに有用な情報を提供することができる。なぜならばイベントが生じる正確な時点でAHAFSが制御を獲得することができるからである。例えば、侵入検出の場合、或る侵入についての「誰が、何を、いつ」という情報を提供するほかに、AHAFSはまたファイル修正時またはカーネル調整可能な値変更時に機能‐コール‐スタックを与えることにより「いかに」という情報をも与える。]
[0102] 2)有用性‐AHAFSは、ファイルシステム・インターフェース(例えば、open()、write()、select()、read()、close()、・・・)をサポートする任意のモニタリング・ソフトウエアにより直接に使用可能である。大抵のシステム・モニタリング・ソフトウエアが、Java、Perl、C等の中で書かれるので、開発者はこれらのAHAFS、APIを容易に使用することができる。AHAのためno新たなAPIを避けることによって、本発明は種々のランタイム(例えば、JavaのためにJNIを加えること、Perl、PHP・・・のために他のインターフェースを加えること)を延長する必要性を回避した。従って、本発明は、言語やオペレーティング・システムの新規な公開ごとに、新しいAPIを維持する必要性を回避した。]
[0103] 3)定期的なモニタリングよりもselect()ファイルシステム・インターフェースを介してタイム・クリティカルなイベントがもっと効果的にモニタされ、その結果そのシステムが決定的なものとなってしまう前に迅速な応答アクションを取ることができる。例えば、いっぱいになる/var/ファイルシステムを手動でもしくはプログラム的に取り扱うことができる。その状況を迅速に取り扱わないことはシステムのハングアップに通常はつながる。]
[0104] 4)低いオーバーヘッドが、全てのユーザーによる定期的なポーリングの代わりに、select()コール通知を用いることによって達成される。]
[0105] 5)フレキシビリティ‐複数のコンシューマが同じイベントであって異なる閾値を備えるイベントをOS上でオーバーヘッドを増さずにモニタすることができる。]
[0106] 6)複数のアプリケーション‐更に、本発明から利益を得ることができる複数のアプリケーションがある。いろいろなシステム管理アプリケーション、AIX System P Console、IBM Sysytems Director、IBM Tivoli Monitor HP OpenViewBMCPatrolなどがある。この技法はまたソフトウエア開発者にもっと複雑なデバッギング機能を提供するためのデバッギング・ツールに統合されることもできる。]
[0107] 本発明を実施例に従って説明してきたが、本発明が特許請求の範囲の趣旨および範囲内で修正して実施され得ることを当業者は認識している。]
[0108] 更に、出願人の意図は、全ての特許請求の範囲の要素の等価物を、後で中間処理中に補正されるとしても、包含することにあると理解されたい。]
权利要求:

請求項1
中央処理装置(CPU)と、前記CPUにより実行されるオペレーティング・システムにおけるイベント通知機構のための命令を含むメモリとを含む装置であって、前記オペレーティング・システム・イベント通知機構が、前記オペレーティング・システムのための標準である1個もしくは複数個のファイルシステム・インターフェースを含み、イベント通知のための登録をするステップ、登録されたイベントが生じるときイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの一つもしくは複数のステップをイベント・コンシューマが使用する装置。
請求項2
前記オペレーティング・システム・イベント通知機構が前記イベント通知のために利用できるイベントのリストのファイル・ツリー表示を含む、請求項1に記載の装置。
請求項3
前記オペレーティンス・システム・イベント通知機構が更に疑似ファイルシステムを含み、イベント・コンシューマからイベント・リクエストを取り、前記イベント・リクエストをイベント・プロデューサに進めるステップと、前記イベント・プロデューサからイベント発生情報を受け取るステップと、前記イベント発生情報を1個もしくは複数個の前記イベント・コンシューマに通知するステップとを含む請求項2に記載の装置。
請求項4
前記オペレーティング・システム・イベント通知機構が登録機能と、イベントが生じるときに前記1個もしくは複数個のイベント・コンシューマが通知を得るためにイベント・プロデューサから前記疑似ファイルシステムへのコールバック機能とを更に含む請求項3に記載の装置。
請求項5
前記ファイル・ツリー表示が、イベント・プロデューサおよびイベント・インスタンスを明示的に識別するための命名規則と、イベント・コンシューマがモニタリングに関心を示している特定のイベント・インスタンスのファイル・パス名を前記イベント・コンシューマが識別するのを助けるノードとを含む請求項2に記載の装置。
請求項6
前記命名規則が、ディレクトリ名に「.monFactory」拡張を加えることによりイベント・プロデューサを識別するステップと、ファイル名に「.mon」拡張を加えることによりイベント・インスタンスを識別するステップとを含む、請求項5に記載の装置。
請求項7
前記ファイルシステム・インターフェースが、イベント・インスタンスに対応するモニタ・ノードへのハンドルを得るための第1のインターフェースと、イベント・タイプに特有のイベント・トリガ基準を示すための第2のインターフェースと、イベントが生じるまで待機するための第3のインターフェースと、前記イベントが生じた後イベントの特定の詳細を読み出すための第4のインターフェースと、前記イベント・インスタンスに対応するモニタ・コードへのハンドルをリリースするための第5のインターフェースとのうちの1個もしくは複数個を含む、請求項1に記載の装置。
請求項8
前記疑似ファイルシステムが複数のイベント・コンシューマからの複数のイベント・リクエストをイベント・プロデューサへの一つのリクエストに集約するための設備と、前記イベント・コンシューマへの非破壊読み出しを提供する機構と、イベントがトリガさせられるプログラムのスタック・トレースを提供するための機構とのうちの1つもしくは複数を含む、請求項3に記載の装置。
請求項9
オペレーティング・システム二イベントを通知する方法であって、標準である1個もしくは複数個のファイルシステム・インターフェースを含み、イベント通知のための登録をするステップ、登録されたイベントが生じるときイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの一つもしくは複数のステップをイベント・コンシューマが使用するために標準ファイルシステム・インターフェースを提供することを含む方法。
請求項10
イベント通知のために利用できるファイル・ツリー表示を提供するステップを更に含む、請求項9に記載の方法。
請求項11
イベント・コンシューマからイベント・リクエストを取り、前記イベント・リクエストをイベント・プロデューサに進めるステップと、前記イベント・プロデューサからイベント発生情報を受け取るステップと、前記イベント発生情報を1個もしくは複数個の前記イベント・コンシューマに通知するステップとのために疑似ファイルシステムを提供するステップを更に含む、請求項10に記載の方法。
請求項12
登録機能と、イベントが生じるときに前記1個もしくは複数個のイベント・コンシューマが通知を得るためにイベント・プロデューサから前記疑似ファイルシステムへのコールバック機能とを更に提供する、請求項11に記載の方法。
請求項13
前記ファイル・ツリー表示が、イベント・プロデューサおよびイベント・インスタンスを明示的に識別するための所定の命名規則と、イベント・コンシューマがモニタリングに関心を示している特定のイベント・インスタンスのファイル・パス名を前記イベント・コンシューマが識別するのを助けるため前記ツリー中の所定のノードとを含む、請求項10に記載の方法。
請求項14
前記命名規則が、ディレクトリ名に所定の拡張を加えることによりイベント・プロデューサを識別するステップと、ファイル名に所定の拡張を加えることによりイベント・インスタンスを識別するステップとを含む、請求項13に記載の方法。
請求項15
所定のディレクトリ名の拡張が「.monFactory」を含み、前記所定のファイル名の拡張が「.mon」を含む、請求項14に記載の方法。
請求項16
前記ファイルシステム・インターフェースが、イベント・インスタンスに対応するモニタ・ノードへのハンドルを得るためのインターフェースと、イベント・タイプに特有のイベント・トリガ基準を示すためのインターフェースと、イベントが生じるまで待機するためのインターフェースと、前記イベントが生じた後イベントの特定の詳細を読み出すためのインターフェースと、前記イベント・インスタンスに対応するモニタ・コードへのハンドルをリリースするためのインターフェースとのうちの1個もしくは複数個を含む、請求項9に記載の方法。
請求項17
前記イベント・インスタンスに対応するモニタ・ノードへのハンドルを得るためのインターフェースが、open()インターフェースを含み、前記イベント・タイプに特有のイベント・トリガ基準を示すためのインターフェースがwrite()インターフェースを含み、前記イベントが生じるまで待機するためのインターフェースが、select()インターフェースを含み、前記イベントが生じた後イベントの特定の詳細を読み出すためのインターフェースが、read()インターフェースを含み、前記イベント・インスタンスに対応するモニタ・コードへのハンドルをリリースするためのインターフェースが、close()インターフェースを含む、請求項16に記載の方法。
請求項18
前記疑似ファイルシステムが複数のイベント・コンシューマからの複数のイベント・リクエストをイベント・プロデューサへの一つのリクエストに集約するための設備と、前記イベント・コンシューマへの非破壊読み出しを提供する機構と、イベントがトリガさせられるプログラムのスタック・トレースを提供するための機構とのうちの1つもしくは複数を含む、請求項11に記載の方法。
請求項19
前記オペレーティング・システムの健全性の表示、および前記オペレーティング・システムまたは前記オペレーティング・システムにより実行されるプログラムのためのデバッギング・プロシージャにおける表示のうちの少なくとも一つとしてイベント通知を提供するステップを更に含む、請求項9に記載の方法。
請求項20
前記オペレーティング・システム・システム上に前記標準ファイルシステム・インターフェースを装着するステップを更に含む、請求項9に記載の方法。
請求項21
前記標準ファイルシステム・インターフェースが前記オペレーティング・システムのLogicalFilesystem(LFS)層から引き出されている、請求項9に記載の方法。
請求項22
オペレーティング・システムにイベントを通知する方法を実行するためにディジタル処理装置により実行可能なマシーン可読命令のプログラムを実体的に含むマシーン可読媒体であって、前記方法が、イベント通知のための登録をするステップ、登録されたイベントが生じるときイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの一つもしくは複数のステップをイベント・コンシューマが使用するために標準ファイルシステム・インターフェースを提供するステップを含む、マシーン可読媒体。
請求項23
オペレーティング・システムを有するディジタル処理装置中のメモリであって、前記メモリは前記オペレーティング・システムの前記ディジタル処理装置による実行に備えて前記オペレーティング・システムをストアしており、かつ前記オペレーティング・システムはその内部に前記方法を実装しているところの前記メモリと、前記オペレーティング・システムを有する前記ディジタル処理装置中のメモリであって、前記メモリは前記ディジタル処理装置が前記オペレーティング・システムを実行している際前記オペレーティング・システムをストアしており、かつ前記オペレーティング・システムはその内部に前記方法を実装しているところの前記メモリと、ネットワーク上のコンピュータにおけるメモリであって、前記メモリは前記ネットワークに接続された他のコンピュータに前記方法をダウンロードするために前記方法をストアしている前記メモリと、前記ディジタル処理装置上に、前記方法を含む前記メモリ装置の内容をアップロードするために前記ディジタル処理装置上に挿入されるメモリ装置を含むコンピュータ・プログラム製品のうちの一つを含む、請求項22に記載のマシーン可読媒体。
請求項24
イベントのセットのイベント通知のための登録をするステップ、各イベントが生じるときイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの一つもしくは複数のステップをイベント・コンシューマが使用するために標準ファイルシステム・インターフェースを提供することによりオペレーティング・システムにイベントを通知する方法を含むオペレーティング・システムを動作させる第1のコンピュータと、前記イベント通知を受け取る第2のコンピュータとを含むネットワーク。
請求項25
コンピュータのオペレーティング・システムの健全性をモニタリングするステップと、前記コンピュータの問題をデバッギングするステップと、前記オペレーティング・システムにより実行されるプログラムまたは前記オペレーティング・システムのためのソフトウエア・ソリューションの開発をするステップとのうちの少なくとも一つを含むサービスであって、イベントのセットのイベント通知のための登録をするステップ、各イベントが生じるときイベント通知を受け取るステップ、および生じたイベントの詳細を得るステップのうちの一つもしくは複数のステップをイベント・コンシューマが使用するために標準ファイルシステム・インターフェースを提供するのに基づき通知機構を用いる前記オペレーティング・システムのイベント通知を受け取ることを前記のモニタリング、前記のデバッギングもしくは前記の開発が含む、前記サービス。
类似技术:
公开号 | 公开日 | 专利标题
US10348809B2|2019-07-09|Naming of distributed business transactions
US20190187969A1|2019-06-20|Method for virtualizing software applications
US9864672B2|2018-01-09|Module specific tracing in a shared module environment
US9444820B2|2016-09-13|Providing context-based visibility of cloud resources in a multi-tenant environment
US9954740B2|2018-04-24|Performance and security management of applications deployed in hosted computing environments
US9298588B2|2016-03-29|Tracing system for application and module tracing
Russinovich et al.2012|Windows internals, part 2
US9325592B2|2016-04-26|System and method for performance data collection in a virtual environment
Schmidt et al.2002|C++ Network Programming, Volume 2: Systematic Reuse with ACE and Frameworks
US9092201B2|2015-07-28|Platform for development and deployment of system administration solutions
EP1769352B1|2013-03-20|Method and apparatus for dynamic cpu resource management
US7562254B2|2009-07-14|Checkpointing and restarting long running web services
US6539501B1|2003-03-25|Method, system, and program for logging statements to monitor execution of a program
Cho1998|A Framework for Alternate Queueing: Towards Traffic Management by PC-UNIX Based Routers.
Ghormley et al.1998|SLIC: An Extensibility System for Commodity Operating Systems.
US6629267B1|2003-09-30|Method and system for reporting a program failure
US10331466B2|2019-06-25|Extension point declarative registration for virtualization
JP4528116B2|2010-08-18|分散環境中でアプリケーションの性能を監視するための方法およびシステム
Ta-Min et al.2006|Splitting interfaces: Making trust between applications and operating systems configurable
JP2915842B2|1999-07-05|第1クラス分散オブジェクトを使用して分散オブジェクト・サーバを制御、管理するシステム、及び方法
US7552447B2|2009-06-23|System and method for using root cause analysis to generate a representation of resource dependencies
CA2515526C|2009-01-20|Grid service scheduling of related services using heuristics
TWI273503B|2007-02-11|A method, system, and storage medium for providing life-cycle management of grid services
US6687749B1|2004-02-03|Methods and systems for reporting and resolving support incidents
US7458078B2|2008-11-25|Apparatus and method for autonomic hardware assisted thread stack tracking
同族专利:
公开号 | 公开日
EP2248032A4|2011-11-30|
US20120198479A1|2012-08-02|
EP2248032A1|2010-11-10|
US20090199051A1|2009-08-06|
JP5225391B2|2013-07-03|
TW200937189A|2009-09-01|
US8201029B2|2012-06-12|
WO2009097016A1|2009-08-06|
US8935579B2|2015-01-13|
KR20100107464A|2010-10-05|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-08-06| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110805 |
2013-01-18| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130118 |
2013-01-23| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
2013-01-30| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130129 |
2013-02-15| TRDD| Decision of grant or rejection written|
2013-02-20| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130219 |
2013-03-21| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130312 |
2013-03-22| R150| Certificate of patent or registration of utility model|Ref document number: 5225391 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2013-03-25| FPAY| Renewal fee payment (event date is renewal date of database)|Free format text: PAYMENT UNTIL: 20160322 Year of fee payment: 3 |
2021-03-22| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]